home *** CD-ROM | disk | FTP | other *** search
- Subject: comp.os.msdos.programmer FAQ diffs
- Newsgroups: comp.os.msdos.programmer,comp.answers,news.answers
- From: jeffrey.carlyle@bgamug.com (Jeffrey Carlyle)
- Date: 17 Sep 1994 12:04:46 GMT
-
- Archive-name: msdos-programmer-faq/diff
- Comp-os-msdos-programmer-archive-name: dos-faq-diff
- Posting-frequency: monthly
- Last-modified: 05 Sep 1994
-
- comp.os.msdos.programmer FAQ Version 2.01
- -----------------------------------------
- Copyright (C) 1994 by Jeffrey Carlyle, Perplexic Software. All rights
- reserved. This article is not in the public domain, but it may be
- redistributed so long as this notice, the acknowledgments, and the
- information on obtaining the latest copy of this list are retained and
- no fee is charged. The code fragments may be used freely; credit would
- be polite.
-
- TABLE OF CONTENTS
- -----------------
-
- Section 1. General FAQ and Newsgroup Information
- -------------------------------------------------
- 1.01 - What is this article for? (Revised: 05/09/1994)
- 1.05 - Are the answers guaranteed to be correct and complete?
- (Revised: 05/09/1994)
- 1.06 - What is comp.os.msdos.programmer about? (Revised: 05/09/1994)
- 1.17 - What and where is "Ralf Brown's interrupt list"?
- (Revised: 05/09/1994)
-
- Section 5. Serial ports (COM ports)
- ------------------------------------
- 5.04 - How do I configure a COM port and use it to transmit data?
- (Revised: 05/09/1994)
-
- Section 6. Other hardware questions and problems
- -------------------------------------------------
- 6.10 - How can I use the protected mode? (New: 05/09/1994)
-
- Section 9. Vendors and products
- ---------------------------------
- 9.03 - What's the current version of UNZIP? (Revised: 05/09/1994)
-
- THE ANSWERS
- -----------
-
- Section 1. General FAQ and Newsgroup Information
- -------------------------------------------------
-
- 1.01 - What is this article for?
- --------------------------------
- (Revised: 05/09/1994)
-
- This is the FAQ (Frequently Asked Questions) list for the newsgroup
- comp.os.msdos.programmer. This list is posted monthly; new questions
- and questions with revised answers are marked with "New:" or
- "Revised:" and the date. When any changes occur a seperate post
- with the subject line "comp.os.msdos.programmer FAQ diffs".
-
- FAQ lists are intended to reduce the noise level in their newsgroups
- that results from the repetition of the same questions, correct
- answers, wrong answers, corrections to the wrong answers,
- corrections to the corrections, debate, etc.
-
- This list should serve as a repository of the canonical "best"
- answers to the questions in it. The names of folks who have helped
- to improve this FAQ list are listed in "1.02 - Who has contributed to
- this article?"
-
-
- 1.05 - Are the answerers guaranteed to be correct and complete?
- --------------------------------------------------------------
- (Revised: 05/09/1994)
-
- I have tried to test all of the facts, but THERE IS NO WARRANTY ON
- THE CODE OR ON THE TECHNIQUES DESCRIBED HEREIN. Please send corrections
- to jeffrey.carlyle@bgamug.com. All the code has been tested; but the
- testing may not have been perfect, and machines and configurations vary.
- (Except where otherwise noted, C code was tested with MSC 5, BC++ 2.0,
- or BC++ 4.0.)
-
- The mention of particular books or programs must not be construed to
- reflect unfavorably on any that are not mentioned.
-
- 1.06 - What is comp.os.msdos.programmer about?
- ----------------------------------------------
- (Revised: 05/09/1994)
-
- comp.os.msdos.programmer (comp.sys.ibm.pc.programmer until September
- 1990) concerns programming for MS-DOS systems. The article "USENET
- Readership report for Jul 94" in news.lists shows 120,000 readers of
- this newsgroup worldwide. Traffic (exclusive of crossposts) was 1981
- articles aggregating 3.1 Megabytes. It ranked as the 79th most popular
- newsgroup.
-
- Much of our traffic is about language products (chiefly from Borland
- and Microsoft). More programming topics focus on C than on any one
- other language, but we are not just for C programmers (see "1.07 - Is
- comp.os.msdos.programmer just for C programmers?").
-
- Since most MS-DOS systems run on hardware that is roughly compatible
- with the IBM PC, on Intel 8088, 80188, or 80x86 chips, we tend to
- get a lot of questions and answers about programming other parts of
- the hardware.
-
- 1.17 - What and where is "Ralf Brown's interrupt list"?
- -------------------------------------------------------
- (Revised: 05/09/1994)
-
- This is megabytes of information on documented and (officially)
- undocumented BIOS and DOS interrupts, DOS tables, and interrupts
- hooked by many software packages.
-
- inter42a.zip, inter42b.zip, and inter42c.zip is the actual
- list. inter42d.zip is a collection of utilities and conversion
- programs for the list. The list is downloadable from:
-
- /pub/msdos/info/ from SimTel
- /pc/programming/ from Garbo.
-
- These versions were uploaded in early August 1994; updates are
- announced every few months in comp.archives.msdos.announce.
-
- Section 5. Serial ports (COM ports)
- ------------------------------------
-
- 5.04. How do I configure a COM port and use it to transmit data?
- ------------------------------------------------------------
- (Revised: 05/09/1994)
-
- Do you want actual code, or do you want books that explain what's
- going on?
-
- 1) Source code
-
- First, check your compiler's run-time library. Many compilers offer
- functions similar to Microsoft C's _bios_serialcom() or Borland's
- bioscom(), which may meet your needs.
-
- Second, check for downloadable resources at SimTel and Garbo. At
- SimTel, /pub/msdos/c/pcl4c34.zip (March 1993) is described as
- "Asynchronous communications library for C"; Garbo has a whole
- /pc/comm directory. Also, an extended example is in Borland's
- TechFax TI445, downloadable as part of
-
- /pub/msdos/turbo-c/bchelp10.zip at SimTel
- /pc/turbopas/bchelp10.zip at Garbo.
-
- Though written by Borland, much of it is applicable to other forms
- of C, and it should give you ideas for other programming languages.
-
- 2) Reference books
-
- Highly recommended: Joe Campbell's {C Programmer's Guide to Serial
- Communications}, ISBN 0-672-22584-0. He gives complete details on
- how serial ports work, along with complete programs for doing polled
- or interrupt-driver I/O. The book is quite thick, and none of it
- looks like filler.
-
- If Campbell's book is overkill for you, you'll find a good short
- description of serial I/O in {DOS 5: A Developer's Guide}, ISBN
- 1-55851-177-6, by Al Williams.
-
- Finally, a reader has recommended {Serial Communications Programming
- in C/C++} by Mark Goodwin (ISBN 1558281983), with source code in the
- book and on disk. Topics include the basics, various methods of
- serial communications on the PC (with consideration of high-speed
- modems), ANSI screen interface, file transfer protocols (Xmodem and
- Ymodem), etc. There is code in C, and that code is extended into a
- C++ class for those who use C++. There are also subroutines in
- Assembly.
-
- 3) Downloadable information files
-
- A "Serial Port FAQ" is occasionally posted to this newsgroup, and is
- downloadable as multiple files:
-
- /pub/E-Technik/afd/*Serial* from pfsparc02.phil15.uni-sb.de.
-
- For rtfm.mit.edu instructions, see "1.13 - Where are FAQ lists
- archived?"
-
- (The uni-sb.de archive administrator warns that the ftp address may
- change, sometime in the future, to etcip1.ee.uni-sb.de.)
-
- Section 6. Other hardware questions and problems
- ------------------------------------------------
-
- 6.10 - How can I use the protected mode?
- ----------------------------------------
- (New: 05/09/1994)
-
- If you are using Borland C++ Version 4.0, you can purchase the
- Borland PowerPack for DOS Version 1.00. This package includes:
- Borland C++ 4.02 Service Update, 16-bit DPMI libraries and
- extenders, 32-bit DPMI libraries and extenders, TurboVision 2.0
- (16-bit DOS, 16-bit DPMI, 32-bit DPMI), SuperVGA BGI Drivers
- (16-bit DOS, 16-bit DPMI, 32-bit DPMI).
-
- Thomas Pytel has written his own DOS extender for Borland C++
- 4.0.
-
- Here is a exert from Pytel's documentation about PMC Version 1.01:
-
- "PMC contains a small library of the most commonly used and needed
- system functions. Some ANSI C compliant functions are provided, but
- overall, PMC is not ANSI compatible. Malloc functions are available.
- As are many low level string and memory block functions. PMC also
- provides some DPMI functions, some non-ANSI file functions, and low
- level IRQ functions. There are low level functions for fast mode
- switching using the raw mode switching services of whatever DPMI host
- it is running under.
-
- "I designed the PMC interface and library to serve as a small,
- tight, kernel for other C code to be built around. My primary use
- for it will be games, demos, and many other things which do not really
- use standard C functions. But the low level functions provided in
- PMC.LIB will find much use in almost any type of program that is done.
-
- "PMC allows flat access to low and extended memory. You need not
- deal with segments or near and far pointers. In fact, BCC32 does
- not recognize the near or far keywords. Memory is split into two pools,
- a low memory pool and an extended memory pool. This is transparent to
- your code though, as the malloc routines check both pools for any
- memory requests. You can deal explicitly with the low or high memory
- heaps if you wish. You may need a low memory DMA buffer for example.
-
- "The extender used is PMODE 3.0. It is about 9k of code and it
- is internal to the EXE file which is created. For more information
- on it, you should read the PMODE documentation. The programs created
- with PMC will run on any 386+ system which is running as a clean system,
- under XMS, VCPI, or DPMI. This covers all memory managers and Windows
- and OS/2. In addition, the PMODE extender is very fast. I should know,
- I wrote for that purpose."
-
- PMC is freeware and includes the source code which is in C
- and assembly language. PMC Version 1.01 can be found in
-
- /pub/msdos/demos/programming/source/pmc101.zip at ftp.eng.ufl.edu
-
- Adam Seychell has written a DOS extender for ASM programmers. His
- shareware library DOS32 Version 2.4 can be found in
-
- /pub/msdos/demos/programming/source/dos32v24.zip at ftp.eng.ufl.edu
-
- Section 9. Vendors and products
- --------------------------------
-
- 9.03. What's the current version of UNZIP?
- ------------------------------------------
- (Revised: 05/09/1994)
-
- The current version of PKWare's PKZip is 2.04g.
- The current version of InfoZip's ZIP is 2.0.1.
- The current version of InfoZip's UNZIP is 5.12.
-
- Since April 1993, the administrators of Garbo and SimTel have
- accepted uploads in the ZIP 2.0 format. You can use the free Info-
- ZIP versions, or PKZIP 2.04g (not 2.04c or 2.04e). SimTel has
- standardized on the Info-ZIP versions for several reasons, as
- explained in an article posted 29 Mar 1993 in
- comp.archives.msdos.announce.
-
- The primary source of the free Info-ZIP programs is at ftp.uu.net,
- directory /pub/archiving/zip; or at quest.jpl.nasa.gov, directory
- /pub. Files are in those directories or in subdirectories as shown
- below. The DOS executable for UNZIP is self extracting; all others
- require UNZIP 5.0, 5.1, 5.11 or 5.12:
-
- MSDOS/unzip512x.exe - DOS executable and doc, UNZIP 5.12
- unzip512.zip - source code for UNZIP 5.12, all platforms
- MSDOS/zip20x.zip - DOS exe and doc, ZIP without crypt support
- zip201.zip - source code for ZIP 2.0, all platforms
- MSDOS/zcryp20x.zip - DOS exe and doc, ZIP with crypt support
- zcrypt21.zip - source code for ZIP crypt support
- WINDOWS/wunz20x.zip - Windows 3.1 WIZUNZIP 2.0 exe and help file
- WINDOWS/wunz20sr.zip - Windows 3.1 WIZUNZIP 2.0 source
-
- The essential files are also available at SimTel in /pub/msdos/zip
- and at Garbo in /pc/arcers.
-
- PKZIP and PKUNZIP are shareware products of PKWARE Inc. The current
- version is 2.04g, which is the third official version after 1.10.
- They are downloadable
-
- from PKWARE's bulletin board, +1 414 354 8670, or
- from Garbo as /pc/arcers/pkz204g.exe
- from SimTel as /pub/msdos/zip/pkz204g.exe
-
- By the way, if you want to develop your own utilities, you will find
- the ZIP 2.0 data structures described in the downloadable file
-
- /pub/msdos/zip/appnote.zip at SimTel.
-
- (End of comp.os.msdos.programmer FAQ diffs Version 2.01)
-
-